A business process is a conceptualization that unites a set of services into a logical unit or view of a service. The interacting services of the business process may be defined using a variety of mechanisms, such as Web Service Definition Language (WSDL) for example. Each service corresponds to a partner of the work flow, or service linkage, that is being defined by the business process. The business process is made of activities or rules, which transform and route messages. The transformation may be specified using so called “plugged-in” languages, such as XPath and Java™, for example. (Java™ is a trademark of Sun Microsystems, Inc.) The business process paradigm shifts from a conventional perspective of considering an object state or its internal composition as most significant to emphasis on the object's noticeable behavior to other objects.
The Organization for the Advancement of Structured Information Standards (OASIS) has defined a specification for a programming language, the Business Process Definition Language (BPEL), to orchestrate execution of activities that comprise business processes. However, conventional error recovery mechanisms under the BPEL definition are ad-hoc and require copying of information from the work being carried out to the error recover routine.
What is needed is an improved mechanism for performing compensation work.